#include <stdio.h>
/*数据类型*/
int main()
{
  #if  0
   /*进制： 16进制*/
   0x121 = 1 * 16^2 + 2 * 16^1 + 1 * 16^0 = 289
    
   /* 十进制 */
   /* 二进制 */
   10011100 = 1*2^7 + 1*2^3 + 1*2^2 =156

   十进制：0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
十六进制： 0 1 2 3 4 5 6 7 8 9  A  B  C  D  E  F  10
   

     /*一个字节（bytes） = 8位（bits）
      *一个字节表示的数的最小值：0  <-> 0000 0000
      *一个字节表示的数的最大值；256    1111 1111

     *两个字节 = 16位（bits）
     *两个字节表示的数的最小值：0    0000 0000
     *两个字节表示的数的最大值：65536 1111  1111

     *四个字节 = 16位（bits）
     *四个字节表示的数的最小值：0    0000 0000 0000 0000 0000 0000 0000 0000
     *四个字节表示的数的最大值：xxxx 1111  1111 1111 1111 1111 1111 1111 1111
      */

  #endif
  
  
  
  
  #if 0
    /*
    四个字节 = 16位（bits）
     *四个字节表示的数的最小值：0    0000 0000 0000 0000 0000 0000 0000 0000
     *四个字节表示的数的最大值：xxxx 1111  1111 1111 1111 1111 1111 1111 1111
     */

   /*int 类型*/
   int a = 100;
   /* sizeof是计算占用的内存大小（以字节为单位）*/
   int len = sizeof(a);

   char ch = 'aa';
   




   printf("len:%d\n",len);
   /*sizeof是计算占用的内存大小.*/
   printf("len:0x%d\n",len);

   


   0121 = 1 * 8^2 + 2 * 8^1 + 1*8^0 = 64 + 16 +1 =81
   printf("len:%d\n");   
    /* %d就是十进制打印 */
   printf("len:%d\n",len);


   #endif
   

   #if 0
/* 
     * 两个字节(bytes) = 16位(bits)
     * 两个字节表示的数的最小值:0     <-> 0000 0000 0000 0000
     * 两个字节表示的数的最大值:65535 <-> 1111 1111 1111 1111
     */

    /* short 类型 */
    short a = 100;
    int len = sizeof(a);

    printf("len:%d\n", len);
    #endif


    #if 0
    /*
     * 八个字节(bytes) = 64位(bits)
     * 八个字节表示的数的最小值:0     <-> 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
     * 八个字节表示的数的最大值:XXX   <-> 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111
     */
    long a = 100;
    int len = sizeof(a);

    printf("len:%d\n", len);
    #endif


    #if 0
    /*
     * 一个字节(bytes) = 8位(bits)
     * 一个字节表示的数的最小值:0   <-> 0000 0000
     * 一个字节表示的数的最大值:255 <-> 1111 1111
     */
    char ch = 'a';
    int len = sizeof(ch);
    printf("len:%d\n", len);
    #endif


    #if 1
     /* 
     * 四个字节(bytes) = 32位(bits)
     * 四个字节表示的数的最小值:0     <-> 0000 0000 0000 0000 0000 0000 0000 0000
     * 四个字节表示的数的最大值:XXX   <-> 1111 1111 1111 1111 1111 1111 1111 1111
     */

    /* 浮点数 (小数) 精度不同于double. */
    float b = 12.2;
    int len = sizeof(b);

    printf("len:%d\n", len);
    printf("b:%f\n", b);
    #endif


    #if 0
    /*
     * 八个字节(bytes) = 64位(bits)
     * 八个字节表示的数的最小值:0     <-> 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
     * 八个字节表示的数的最大值:XXX   <-> 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111
     */
    /* 浮点数 (小数) 精度不同于float. */
    double b = 53.2;
    int len = sizeof(b);

    printf("len:%d\n", len);
    printf("b:%f\n", b);
    #endif

    return 0;
}